﻿var viewModel = new function () {
    // About you
    this.Fullname = ko.observable('').extend({ maxLength: 50 }).extend({ required: { message: "Tên người dùng là bắt buộc"} }).extend({ pattern: {
        message: 'Tên người dùng không chứa ký tự đặc biệt',
        params: '^([a-zA-Z\\s]+)*$'
    }
});

    this.Email = ko.observable('').extend({ required: { message: 'Địa chỉ e-mail là bắt buộc'} }).extend({ pattern: {
        message: "Nhập địa chỉ e-mail hợp lệ",
        params: /^(([a-zA-Z0-9])+([a-zA-Z0-9_\.\-])+([a-zA-Z0-9]))+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/
    }
    });
    this.Phone = ko.observable();
    this.Message = ko.observable("");

    // Submit, Next button
    this.validateForm = ko.observable(false);
    this.acceptTermsAndCondition = ko.observable(false);
    this.SubmitForm = function () {
        if (viewModel.errors().length == 0) {
            $('form').submit();
        }
        else {
            if (this.acceptTermsAndCondition()) {
                this.validateForm(viewModel.errors().length > 0);
                viewModel.errors.showAllMessages();
                return false;
            }
            else {
                this.validateForm(viewModel.errors().length > 0);
                return false;
            }
        }
    }
};

viewModel.errors = ko.validation.group(viewModel);

// Apply
ko.applyBindings(viewModel, document.getElementById("main"));